The present invention relates generally to microprocessors, and more specifically to techniques for in-circuit emulation thereof.
A typical microcomputer system includes one or more printed circuit boards, one of which has a microprocessor chip (the processor) mounted thereon. The processor is a complex device characterized by a certain hardware configuration, an instruction set, and specific timing relationships. Reduced to essentials, however, the processor can be viewed as a device that provides defined output signals on various of its pins in response to input signals on various of its pins according to a particular (albeit complex) protocol. A device is said to emulate the processor if it has a set of pins or terminals corresponding to those of the processor and provides output signals on its terminals in response to input signals on its terminals according to the same protocol as the processor.
Software development for the microcomputer is sometimes carried out using an in-circuit emulator (the emulator). The emulator is a separate computer system having an interface with terminals that correspond to the processor pins. A multi-conductor cable is connected to the interface terminals at one end and terminates in a plug which is inserted into the processor socket. The emulator plug's pins correspond to the processor's pins. The emulator computer emulates the processor and effectively substitutes itself for the processor (which was removed from its socket or was never inserted into it). The emulator computer has various capabilities beyond that of the processor, and thus provides the software developer with a broad range of diagnostic features.
A problem with using an emulator is that it requires a socket-mounted (removable) processor. Regrettably, socketed technology is more expensive and potentially less reliable than other technologies (including surface-mount technology) where the processor pins are soldered directly to the circuit board.